<script>
	import Swiper from "swiper";
	export default {
		name: 'Carousel',
		props: ['list'],
		watch: {
			list: {
				// 立即监听，不管数据有没有变化，上来立即监听一次
				// 为什么watch监听不到list，因为list从来没有发生过变化
				// 数据是父组件的，父组件给的时候就是一个对象，对象里面是有数据的
				immediate: true,
				handler() {
					// 只能监听到数据已经有了，但是v-for动态渲染结构还是没办法确定，所以还是需要用nextTick
					this.$nextTick(() => {
						var mySwiper = new Swiper(this.$refs.floor1Swiper, {
							loop: true, // 循环模式选项
							
							// 如果需要分页器
							pagination: {
								el: '.swiper-pagination',
								// 点击小球也切换图片
								clickable: true,
							},
							
							// 如果需要前进后退按钮
							navigation: {
								nextEl: '.swiper-button-next',
								prevEl: '.swiper-button-prev',
							}
						})
					})
				}
			}
		}
	}
</script>

<template>
	<div class="swiper-container" ref="floor1Swiper">
		<div class="swiper-wrapper">
			<div class="swiper-slide" v-for="(carousel, index) in list"
				 :key="carousel.id">
				<img :src="carousel.imgUrl">
			</div>
		</div>
		<!-- 如果需要分页器 -->
		<div class="swiper-pagination"></div>
		
		<!-- 如果需要导航按钮 -->
		<div class="swiper-button-prev"></div>
		<div class="swiper-button-next"></div>
	</div>
</template>

<style scoped lang="less">

</style>